home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / email / parser.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  2KB  |  73 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. __all__ = [
  5.     'Parser',
  6.     'HeaderParser']
  7. import warnings
  8. from cStringIO import StringIO
  9. from email.feedparser import FeedParser
  10. from email.message import Message
  11.  
  12. class Parser:
  13.     
  14.     def __init__(self, *args, **kws):
  15.         if len(args) >= 1:
  16.             if '_class' in kws:
  17.                 raise TypeError("Multiple values for keyword arg '_class'")
  18.             
  19.             kws['_class'] = args[0]
  20.         
  21.         if len(args) == 2:
  22.             if 'strict' in kws:
  23.                 raise TypeError("Multiple values for keyword arg 'strict'")
  24.             
  25.             kws['strict'] = args[1]
  26.         
  27.         if len(args) > 2:
  28.             raise TypeError('Too many arguments')
  29.         
  30.         if '_class' in kws:
  31.             self._class = kws['_class']
  32.             del kws['_class']
  33.         else:
  34.             self._class = Message
  35.         if 'strict' in kws:
  36.             warnings.warn("'strict' argument is deprecated (and ignored)", DeprecationWarning, 2)
  37.             del kws['strict']
  38.         
  39.         if kws:
  40.             raise TypeError('Unexpected keyword arguments')
  41.         
  42.  
  43.     
  44.     def parse(self, fp, headersonly = False):
  45.         feedparser = FeedParser(self._class)
  46.         if headersonly:
  47.             feedparser._set_headersonly()
  48.         
  49.         while True:
  50.             data = fp.read(8192)
  51.             if not data:
  52.                 break
  53.             
  54.             feedparser.feed(data)
  55.         return feedparser.close()
  56.  
  57.     
  58.     def parsestr(self, text, headersonly = False):
  59.         return self.parse(StringIO(text), headersonly = headersonly)
  60.  
  61.  
  62.  
  63. class HeaderParser(Parser):
  64.     
  65.     def parse(self, fp, headersonly = True):
  66.         return Parser.parse(self, fp, True)
  67.  
  68.     
  69.     def parsestr(self, text, headersonly = True):
  70.         return Parser.parsestr(self, text, True)
  71.  
  72.  
  73.